﻿#ifndef USERLIST_H
#define USERLIST_H

#include <QWidget>
#include "common.h"

namespace Ui {
class UserList;
}

class UserList : public QWidget {
    Q_OBJECT

  public:
    explicit UserList(QWidget *parent = nullptr);
    ~UserList();
    int getCurrentPage();
    int getTotalRecord();
    void setTotalRecord(int totalRecord);
    int getTotalPage();
    void setTotalPage(int totalPage);
    QString getCurrentSearchUsername();
    QString getCurrentSearchStartTime();
    QString getCurrentSearchEndTime();
    void setCurrentEndDateTime();
    void initList();
    void initWidget();
    void getUserList(int page, int pageSize, QString currentSearchUsername,
                     QString currentSearchStartTime, QString currentSearchEndTime);
    // 根据返回的总数更新页面情况
    void setPageShow(int count);
    void showUserList(QList<UInfo> &userInfoList);
    void clearUserList();
    void refreshUserList();
    void updateUser(const QModelIndex &index);
    void deleteuser(const QModelIndex &index);

  private slots:

    void on_lastPageButton_clicked();

    void on_nextPageButton_clicked();

    void on_searchButtom_clicked();

    // 双击选择列表项,更新或删除
    void on_tableWidget_doubleClicked(const QModelIndex &index);

    // 刷新页面
    void on_refreshButton_clicked();

  private:
    Ui::UserList *ui;
    int currentPage;                    // 当前页面
    QList<UInfo> currentUserInfoList;   // 当前用户数据列表
    int totalRecord;                    // 总记录数
    int totalPage;                      // 总页数
};

#endif // USERLIST_H
